package web

import (
	"encoding/json"

	"gitee.com/xgotool/sqlite-logs-more/service/logs"
	"gitee.com/xiaoyutab/xgotool/xgin"
	"gitee.com/xiaoyutab/xgotool/xstring"
	"github.com/gin-gonic/gin"
)

// 获取Quest日志中日志列表
//
//	GET	log.quest.list
func LogQuestList(c *gin.Context) *xgin.Response {
	type temp_struct struct {
		Args string      `json:"args" form:"args" xml:"args"` // 查询的args参数 空表示全部
		Did  json.Number `json:"did" form:"did" xml:"did"`    // 查询的设备ID，0表示全部
	}
	type temp_struct_used struct {
		Args string `json:"args" form:"args" xml:"args"`
		Did  int64  `json:"did" form:"did" xml:"did"`
	}
	temp := temp_struct{}
	if err := xgin.Bind(c, &temp); err != nil {
		return xgin.Resp().Error(err)
	}
	// 正式变量赋值
	// 请使用param进行参数验证、变量效验等操作
	param := temp_struct_used{}
	param.Args = temp.Args
	param.Did = xstring.JInt64(temp.Did)
	count, lis, err := logs.QuestLogList(param.Did, param.Args, c.GetInt("offset"), c.GetInt("limit"))
	if err != nil {
		return xgin.Resp().Error(err)
	}
	return xgin.Resp().Page(c, lis, count)
}
